package com.bkgy.modularbx.slip.entity;

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

import java.time.LocalDateTime;
import java.util.List;
/**
 * 轧辊打滑事件实体类，用于记录和存储轧辊打滑过程中的完整数据。
 * 该类包含事件的基本信息（如ID、轧辊信息）、原始采集数据（速度、扭矩、张力等）
 * 以及打滑分析的结果。主要用于打滑事件的存储、追溯和后续分析。
 *
 * @author Trae
 * @version 1.0
 * @see SlipAnalysisResult
 */
@Data
@Document(collection = "slip_events")
public class SlipEvent {
    /** MongoDB文档唯一标识符 */
    @Id
    private String id;
    
    /** 轧辊唯一标识符 */
    private String rollId;
    
    /** 轧辊显示名称 */
    private String displayName;
    
    /** 轧辊所属机架区域 */
    private String section;
    
    /** 事件发生的时间戳 */
    private LocalDateTime timestamp;

    /** 主传动速度数据序列（米/分） */
    private List<Float> masterSpeedData;
    
    /** 轧辊实际速度数据序列（米/分） */
    private List<Float> rollSpeedActData;
    
    /** 轧辊设定速度数据序列（米/分） */
    private List<Float> rollSpeedSetData;
    
    /** 轧辊实际扭矩数据序列（千牛米） */
    private List<Float> torquesActData;
    
    /** 速度偏差数据序列（米/分） */
    private List<Float> devSpeedData;
    
    /** 实际张力数据序列（千牛） */
    private List<Float> tensionActData;

    /** 打滑事件的分析结果 */
    private SlipAnalysisResult analysisResult;
}
